This invention relates to the field of process control systems and, in particular, to a method for adaptively relinquishing and reasserting control over selected controlled variables in a multivariate control system.
In a process control system, a controller compares values of a process characteristic, or xe2x80x9ccontrolled variable,xe2x80x9d with a target value, or xe2x80x9csetpoint,xe2x80x9d to determine whether the process is operating within acceptable bounds. For example, in a biscuit baking process, a controller compares the moisture of the baked product with a desired moisture content value to determine whether batches of biscuits are properly baked.
If the controller determines that the controlled variable is outside normal bounds, it can initiate corrective action by adjusting a parameter, or xe2x80x9cmanipulated variable,xe2x80x9d of the process. In the biscuit baking example, if the sample is too moist, the controller can signal an increase in temperature.
In the control system described above, there is but a single controlled variable, moisture, and a single manipulated variable, temperature. Mathematically, the above control system can be represented by the equation
u=f(r, y)
where y represents the controlled variable, moisture, u represents the manipulated variable, temperature, r represents the setpoint, and f represents the system transfer function.
In a multivariate control system, there can be several controlled variables and several setpoints, one corresponding to each controlled variable. Additionally, there can be several manipulated variables. Thus, a multivariate system to be controlled can be characterized by a system transfer function {overscore (f)} such that
{overscore (u)}={overscore (f)}({overscore (r)}, {overscore (y)})xe2x80x83xe2x80x83(1)
where {overscore (u)} is a vector of manipulated variables, {overscore (r)} is a vector of setpoints, and {overscore (y)} is a vector of controlled variables. To control such a system, it is necessary to choose {overscore (u)} to minimize the error between the vector of controlled variables, {overscore (y)}, and the vector of setpoints {overscore (r)}. These setpoints represent the desired values for the controlled variables.
In the biscuit baking system described above, if the moisture sensor malfunctions, or if the temperature is already as high as it can go, the control system can no longer function effectively. The situation is different in a multivariate system. If, for example, the device measuring one of the controlled variables malfunctions, there remain other controlled variables which can be controlled. Conversely, if for some reason one of the manipulated variables can no longer be used, there remain other manipulated variables which can be used to control the controlled variables. In either case, it may still be possible to maintain control over some, but not all, of the controlled variables.
Equation (1) provides a mathematical basis for the loss of control over at least one controlled variable upon the loss of a manipulated variable. As a general rule, a unique solution to equation (1) exists only when the dimensionality of the manipulated variable vector {overscore (u)} equals the dimensionality of the controlled variable vector {overscore (y)}. Where there are more controlled variables than there are manipulated variables, it is generally not possible to control each controlled variable.
In order to maintain control of the multivariate control system, it can be necessary to relinquish control of at least some of the controlled variables. This process of rendering a controlled variable inactive generally includes a step of assigning a priority order to each controlled variable. In this way, control over those controlled variables which have lower priority can be relinquished before control over those controlled variables which have higher priority.
It is known in the art to assign a priority value to each controlled variable and to relinquish control over the controlled variable having the lowest priority value. For example, in a refrigerated boxcar in which one can control both temperature and humidity, one may be willing to forego control of humidity if the alternative is to lose control of the temperature. In such a control system, the humidity has a lower priority value than the temperature and hence control over humidity is relinquished before control over the temperature.
A typical method for selecting those controlled variables over which control is to be relinquished includes the steps of counting the number of active controlled variables and the number of available manipulated variables. By comparing these two numbers, a prior art controller can determine how many controlled variables must be rendered inactive. Typically, the controlled variables are arranged in a pre-determined priority order which stays fixed throughout the interval during which the system is to be controlled. The processor then relinquishes control over controlled variables in the order specified by this predetermined priority order, beginning with the lowest priority controlled variable.
A typical implementation of the above prior art method includes the step of counting the number of active controlled variables in a vector of controlled variables by determining whether the measurement of each controlled variable is a valid measurement. If the measurement is valid, the controller considers that controlled variable to be an active controlled variable. If the measurement is invalid, an attempt to exert control over that controlled variable is pointless. Accordingly, the controller relinquishes control over that controlled variable by setting its value equal to its last valid measured value and recalculating the gain matrix of the controller so that the gains associated with that value are zero. This method of relinquishing control over a controlled variable thus suffers from the disadvantage that the gain matrix of the controller is recalculated when the measured value of a controlled variable becomes invalid.
The prior art method also includes the step of counting the number of manipulated variables available for controlling the controlled variables. This includes the steps of determining whether each manipulated variable is output limited. An example of an output limited manipulated variable is one associated with a valve that is already fully open or fully shut. If a particular manipulated variable is not output limited, the controller increments a counter by one. Then, the controller proceeds to the next manipulated variable, if any.
Having determined the number of active controlled variables and the number of available manipulated variables, the prior art method then determines whether the difference between the number of active controlled variables and the number of available manipulated variables requires adjustment. If the number of active controlled variables exceeds the number of available manipulated variables, the controller relinquishes control over the lowest priority active controlled variable by recalculating the gain matrix of the controller so as to render the gains associated with that controlled variable equal to zero. This process is repeated until the number of active controlled variables and the number of available manipulated variables is such that equation (1) has a solution.
It is apparent that the prior art step of counting active controlled variables does not provide for recovery of a controlled variable once control over it has been relinquished. Consequently, a spurious measurement of a controlled variable may result in permanent loss of control over that controlled variable, even though the measurement of that controlled variable is generally reliable.
It is also apparent that the foregoing method relinquishes control over controlled variables according to a predefined priority with no consideration given to the measured values of the remaining controlled variables. The foregoing method is, as a result, not adaptive. A disadvantage of such a non-adaptive method is that it is possible to relinquish control over a low priority controlled variable even though the value of that controlled variable is about to reach dangerous levels. That such a potentially catastrophic result can arise simply because one controlled variable""s predefined priority is lower than another""s is indicative of the inflexibility of the foregoing method.
It is further apparent that in the foregoing method, the gain matrix for the controller is recalculated each time control over a controlled variable is relinquished and that such recalculation can be burdensome.
A further disadvantage of the foregoing method is that the gains applied to that controlled variable are set to zero regardless of how high or low its current measured value becomes. The inactive controlled variable is thus completely unconstrained and its value can therefore reach dangerous levels.
It is desirable in the art, therefore, to provide a method and apparatus for relinquishing control over controlled variables without the burden of repeatedly recalculating the controller gain matrix, for adaptively altering the order in which control over controlled variables is relinquished, for monitoring the measured values corresponding to these controlled variables, and for restoring control over those controlled variables whose measured values satisfy predetermined properties.
These disadvantages are alleviated in the method of the invention in which the difference between the number of active controlled variables and the number of available manipulated variables is adjusted during each control cycle according to an adaptively controlled priority order instead of according to a fixed priority order. This change can be effected either by relinquishing control over an active controlled variable or by reasserting control over an inactive controlled variable. Control over a controlled variable is relinquished or reasserted by controlling the difference between the value of the controlled variable and the value of its associated setpoint.
In the method of the invention, each active controlled variable has a valid measured value, a predefined priority value, and an associated setpoint which is initially set to an original setpoint value. Adaptive control over the priority order is obtained by classifying the controlled variables, preferably based on their measured values, into one of a plurality of classes, each class having a rank specifying the priority of that class relative to all other classes. Since this classification step is dependent on measured values of the controlled variable, it is inherently an adaptive process.
In the preferred embodiment, a controlled variable is classified as belonging to a particular class by examining the difference between the measured value of the controlled variable and the endpoints of a desired interval. If the value of the controlled variable is outside the desired interval, the method recognizes that this controlled variable is in need of control and assigns it to a class having a high rank. Conversely, if the controlled variable is near its original setpoint value, the method recognizes that this controlled variable is not in need of control and therefore assigns it to a lower ranking class.
The first active controlled variable over which control is relinquished is that active controlled variable which is both in the class having the lowest rank and which has the lowest priority value of all active controlled variables within that class. Control over additional active controlled variables belonging to the lowest ranking class is relinquished according to the predefined priority values of those controlled variables. If, after having relinquished control over all the active controlled variables from the lowest ranking class, additional controlled variables are to be deactivated, these controlled variables are selected from the next lowest ranking class. Control over these active controlled variables is likewise relinquished in an order determined by their preassigned priority values.
Conversely, when the number of active controlled variables is smaller than the number of available manipulated variables, inactive controlled variables are reactivated to make up the difference. The first inactive controlled variable to be reactivated is that which has the highest priority of all the inactive controlled variables in the highest ranking class. Control over additional inactive controlled variables from the highest ranking class is reasserted according to the predefined priority values of these inactive controlled variables. If, after having reasserted control over all inactive controlled variables from the highest ranking class it is necessary to reassert control over additional inactive controlled variables, these can be selected from the next highest ranking class according to their predefined priority order.
During periods of normal operation, the value of a controlled variable is equal to its measured value and the value of its associated setpoint is equal to its original setpoint value. The difference between the value of the controlled variable and the value of its associated setpoint is thus representative of the degree of correction required for that controlled variable. In the method of the invention, control over a selected controlled variable is relinquished by forcing this difference to equal zero. Conversely, control over a controlled variable is reasserted by restoring this difference to its correct value.
According to the method of the invention, there are at least two methods for forcing the difference between a selected controlled variable and its associated setpoint to equal zero. In the first method, which we refer to as xe2x80x9cshedding the setpoint,xe2x80x9d the value of the associated setpoint, which is normally set equal to its original setpoint value, is replaced by the measured value of the controlled variable. In the second method, which we refer to as xe2x80x9cshedding the controlled variable,xe2x80x9d the value of the controlled variable, which is normally equal to its measured value, is replaced by the value of its associated setpoint, which is equal to its original setpoint value. In both cases, the effect is the same: the difference between the value of the controlled variable and the value of its associated setpoint is forced to equal zero.
The choice of whether to relinquish control over a controlled variable by shedding its setpoint or by shedding the controlled variable depends on the reason for relinquishing control. If control is being relinquished because the measured value of the controlled variable is invalid, then the controlled variable is shed by setting the value of the controlled variable equal to its setpoint. Otherwise, the controlled variable""s associated setpoint is shed by setting the value of the associated setpoint equal to the measured value of the controlled variable.
The controller typically relies on the difference between the measured value of the controlled variable and the value of its associated setpoint as an indication of how much control is necessary over that controlled variable. Consequently, setting this difference to zero, either by shedding the controlled variable or shedding its associated setpoint, causes the controller to give up control over that controlled variable. As a result, the method of the invention makes it unnecessary to recompute the gain matrix of the controller in order to relinquish control over a controlled variable. In this way, the method of the invention permits control over controlled variables to be readily relinquished without the need to recalculate the gain matrix.
Control over a controlled variable is reasserted by allowing the difference between the value of the controlled variable and the value of its associated setpoint to correspond to the difference between the measured value of the controlled variable and the original setpoint value. Again, there are two methods for doing so. In the first method, referred to as xe2x80x9cunshedding the setpoint,xe2x80x9d the value of the associated setpoint is restored to the original setpoint value. In the second method, referred to as xe2x80x9cunshedding the controlled variable,xe2x80x9d the value of the controlled variable is restored to its measured value. In both cases, the result is the same: the difference between the controlled variable and its associated setpoint becomes the difference between the measured value of the controlled variable and the original setpoint value.
The choice of whether to unshed the controlled variable or to unshed its associated setpoint depends on which method was used to relinquish control over the controlled variable. If control over the controlled variable was relinquished by shedding its associated setpoint, then control over that controlled variable is reasserted by unshedding its associated setpoint. Conversely, if control over the controlled variable was relinquished by shedding the controlled variable, then control over that controlled variable is reasserted by unshedding the controlled variable.
Since, as described above, the controller typically relies on the difference between the setpoint and the measured value, and since, after unshedding either the controlled variable or its associated setpoint this difference is no longer forced to equal zero, the controller reasserts control over the controlled variable. In either case, the gain matrix of the controller need not be recalculated in order to reassert control over a controlled variable.
In certain classes of systems to be controlled, unshedding a setpoint abruptly can introduce, transients into the system under control. Thus, in one embodiment of the invention, the likelihood of introducing undesirable transients while unshedding a setpoint is reduced by gradually changing the value of the associated setpoint from the measured value of the controlled variable to the original setpoint value. This is accomplished by allowing the value of the associated setpoint to follow a ramp function having an initial value set to the measured value of the controlled variable and a final value set to the original setpoint value. As can be appreciated by one of skill in the art, the original setpoint value can be stored in a temporary location when the setpoint is shed and retrieved from that temporary location in order to construct the ramp function. The initial and final values of the ramp function can be separated by a selected unshedding time interval. Alternatively, the ramp rate, or slope, of the ramp function can be specified, in which case the unshedding time interval is selected on the basis of the specified ramp rate and the difference between the measured value of the controlled variable and the original setpoint value.
In another embodiment of the invention, the likelihood of introducing undesirable transients while unshedding a controlled variable is reduced by gradually changing the value of the controlled variable from its original setpoint value to its measured value. This is accomplished by allowing the value of the controlled variable to follow a ramp function having an initial value set to the original setpoint value for that controlled variable and a final value set to the measured value of that controlled variable. The initial and final values of this ramp function can be separated by a selected unshedding time interval.
The ramp functions for unshedding either the controlled variable or the setpoint can be linear, exponential, or any other shape having initial and final locations at the correct values and separated by the selected unshedding interval.